package com.abc.recycling.service;

import com.abc.recycling.model.NotificationTemplate;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.util.List;

public interface NotificationTemplateService {
    NotificationTemplate createTemplate(NotificationTemplate template);
    
    NotificationTemplate updateTemplate(NotificationTemplate template);
    
    void deleteTemplate(Long id);
    
    NotificationTemplate getTemplateById(Long id);
    
    NotificationTemplate getTemplateByCode(String code);
    
    List<NotificationTemplate> getAllTemplates();
    
    Page<NotificationTemplate> getTemplatesByPage(Pageable pageable);
    
    List<NotificationTemplate> getTemplatesByType(String type);
    
    String processTemplate(String templateCode, Object data);
} 